package com.it.gmall.order.service;

import com.it.gmall.model.enums.ProcessStatus;
import com.it.gmall.model.order.OrderDetail;
import com.it.gmall.model.order.OrderInfo;

import java.util.List;
import java.util.Map;

public interface OrderApiService {
    // 判断商品是否有库存
    Boolean isHaveStock(OrderDetail orderDetail);

    // 提交订单数据
    long subOrder(OrderInfo orderInfo);

    // 查询订单详情
    OrderInfo getOrderInfo(Long orderId);

    // 更改订单状态和支付的状态
    void updateOrderInfoStatus(Long orderId, ProcessStatus processStatus);

    // 拆单
    List<OrderInfo> splitOrder(long orderId, String wareSkuMap);

    // 初始化返回的库存数据
    String initWareInfo(Long orderId);

    // 初始化返回的库存数据
    List<Map> initWareInfo(List<OrderInfo> orderInfos);

    // 修改减库存之后的结果
    void updateLockStockStatus(String result);
}
